//
//  BTAddContactViewController.m
//  WeChat
//
//  Created by 互联网 on 16/11/4.
//  Copyright © 2016年 bigtree. All rights reserved.
//

#import "BTAddContactViewController.h"

@interface BTAddContactViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textFiled;

@end

@implementation BTAddContactViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}

#pragma mark 添加好友
- (IBAction)addContantBtnClick:(id)sender {

    // 获取输入框的内容，一个完整的jid需要添加后缀
    NSString *user = self.textFiled.text;

    //1. 不能添加自己为好友
    if ([user isEqualToString:[BTAccout shareAccount].loginUser]) {
        [self showMsg:@"不能添加自己为好友"];
        return;
    }
   //2. 已经添加的好友不能再添加；
    XMPPJID *jid = [XMPPJID jidWithUser:user domain:[BTAccout shareAccount].domain resource:nil];
  BOOL userExists =  [[BTXMPPTool sharedBTXMPPTool].rosterDataStorage userExistsWithJID:jid xmppStream:[BTXMPPTool sharedBTXMPPTool].xmppStream];
    if (userExists) {
        [self showMsg:@"好友已经存在"];
        return;
    }
    
    //3. 添加好友 ：框架中成为（订阅）,花名册模块
    [[BTXMPPTool sharedBTXMPPTool].roster subscribePresenceToUser:jid];
    
    /**
     添加好友在现有的openfire 中存在的问题
      1. 添加不存在的好友，通讯录里面也显示了好友
     解决办法1：服务器可以拦截好友添加请求，如当前数据库没有好友，不返回信息
     解决办法2：过滤数据库的subscripttion字段查询
     none：对方没有同意
     to 发给对方的请求
     from 别人发来的请求
     both 互为好友
     *
     */
}
-(void)showMsg:(NSString *)msg
{
    UIAlertView *av = [[UIAlertView alloc]initWithTitle:@"提示" message: msg delegate:self cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
    [av show];
}

@end
